/*************************************************************************
	> File Name: oj-483.cpp
	> Author: Wang Bo
	> Mail: 1276106221@qq.com
	> Created Time: 2020年12月06日 星期日 20时05分21秒
 ************************************************************************/
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;

bool check(const string &s) {
    int at_cnt = 0;
    if (s[0] == '.' || s[s.size() - 1] == '.') return false;
    for (int i = 0; i < s.size(); ++i) {
        if (s[i] == '@') {
            if (i == 0 || i == s.size() - 1) return false;
            at_cnt++;
            if (at_cnt > 1) return false;
            if (s[i - 1] == '.' || s[i + 1] == '.') return false;
        }
    }
    if (at_cnt == 0) return false;
    return true;
}

int main() {
    vector<string> ans;
    string str;
    cin >> str;
    ans.push_back(str);
    int fpos = str.find("nospam");
    while (fpos != string::npos) {
        ans.push_back(str);
        ans[ans.size() - 1].replace(fpos, 6, "");
        fpos = str.find("nospam", fpos + 1);
    }
    for (int i = ans.size() - 1; i >= 0; --i) {
        fpos = ans[i].find("at");
        while (fpos != string::npos) {
            ans.push_back(ans[i]);
            ans[ans.size() - 1].replace(fpos, 2, "@");
            fpos = ans[i].find("at", fpos + 1);
        }
    }
    sort(ans.begin(), ans.end());
    for (int i = 0; i < ans.size(); ++i) {
        if (i > 0 && ans[i - 1] == ans[i]) continue;
        if (check(ans[i])) cout << ans[i] << endl;
    }
    return 0;
}
